extern crate proc_macro;

mod expand;

use proc_macro::TokenStream;
use syn::DeriveInput;

#[proc_macro_derive(Message)]
pub fn derive_message(ts: TokenStream) -> TokenStream {
    let ast: DeriveInput = syn::parse(ts).unwrap();
    expand::expand_derive_message(&ast).into()
}
